#include "dyn_quad_qGauss16.h"

qGauss16::qGauss16(Functor &_func, double _a, double _b)
    : qGauss(_func,_a,_b)
{
    populateVectors();
}

void qGauss16::populateVectors()
{
    abscissas.set_size(16);
    abscissas(0) = -x8;
    abscissas(1) = -x7;
    abscissas(2) = -x6;
    abscissas(3) = -x5;
    abscissas(4) = -x4;
    abscissas(5) = -x3;
    abscissas(6) = -x2;
    abscissas(7) = -x1;
    abscissas(8) = x1;
    abscissas(9) = x2;
    abscissas(10) = x3;
    abscissas(11) = x4;
    abscissas(12) = x5;
    abscissas(13) = x6;
    abscissas(14) = x7;
    abscissas(15) = x8;

    weights.set_size(16);
    weights(0) = w8;
    weights(1) = w7;
    weights(2) = w6;
    weights(3) = w5;
    weights(4) = w4;
    weights(5) = w3;
    weights(6) = w2;
    weights(7) = w1;
    weights(8) = w1;
    weights(9) = w2;
    weights(10) = w3;
    weights(11) = w4;
    weights(12) = w5;
    weights(13) = w6;
    weights(14) = w7;
    weights(15) = w8;
}
